package cn.tedu.charging.device.warm;

import cn.tedu.charging.device.service.DeviceService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

@Component
@Slf4j
@Order(0)
public class StationWarmUp implements ApplicationRunner {
    @Autowired
    private DeviceService deviceService;
    /**
     * bean生命周期 伴随容器启动 步骤
     * 1. 实例化对象
     * 2. 初始化方法
     * 3. 属性 值 注入
     * 4. 结束初始化
     * 5. 在容器驻留
     * 5.5 容器启动成功 调用所有ApplicationRunner.#run方法
     * 6. 销毁destroy
     */
    @Override
    public void run(ApplicationArguments args) throws Exception {
        log.debug("缓存场站数据预热开始执行");
        deviceService.startOnceWarmUp();//启动一次性预热
    }
}
